// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.EnterpriseServer
{
	using System.Diagnostics;
	using System.Web.Services;
	using System.ComponentModel;
	using System.Web.Services.Protocols;
	using System;
	using System.Xml.Serialization;
	using System.Data;


	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "esUsersSoap", Namespace = "http://smbsaas/solidcp/enterpriseserver")]
	public partial class esUsers : Microsoft.Web.Services3.WebServicesClientProtocol
	{

		private System.Threading.SendOrPostCallback UserExistsOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserByIdOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserByUsernameOperationCompleted;

		private System.Threading.SendOrPostCallback GetUsersOperationCompleted;

		private System.Threading.SendOrPostCallback GetRawUsersOperationCompleted;

		private System.Threading.SendOrPostCallback GetUsersPagedOperationCompleted;

		private System.Threading.SendOrPostCallback GetUsersPagedRecursiveOperationCompleted;

		private System.Threading.SendOrPostCallback GetUsersSummaryOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserDomainsPagedOperationCompleted;

		private System.Threading.SendOrPostCallback GetRawUserPeersOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserPeersOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserParentsOperationCompleted;

		private System.Threading.SendOrPostCallback AddUserOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserTaskOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserTaskAsynchronouslyOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;

		private System.Threading.SendOrPostCallback ChangeUserPasswordOperationCompleted;

		private System.Threading.SendOrPostCallback ChangeUserStatusOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserSettingsOperationCompleted;

		/// <remarks/>
		public esUsers()
		{
			this.Url = "http://localhost/EnterpriseServer/esUsers.asmx";
		}

		/// <remarks/>
		public event UserExistsCompletedEventHandler UserExistsCompleted;

		/// <remarks/>
		public event GetUserByIdCompletedEventHandler GetUserByIdCompleted;

		/// <remarks/>
		public event GetUserByUsernameCompletedEventHandler GetUserByUsernameCompleted;

		/// <remarks/>
		public event GetUsersCompletedEventHandler GetUsersCompleted;

		/// <remarks/>
		public event GetRawUsersCompletedEventHandler GetRawUsersCompleted;

		/// <remarks/>
		public event GetUsersPagedCompletedEventHandler GetUsersPagedCompleted;

		/// <remarks/>
		public event GetUsersPagedRecursiveCompletedEventHandler GetUsersPagedRecursiveCompleted;

		/// <remarks/>
		public event GetUsersSummaryCompletedEventHandler GetUsersSummaryCompleted;

		/// <remarks/>
		public event GetUserDomainsPagedCompletedEventHandler GetUserDomainsPagedCompleted;

		/// <remarks/>
		public event GetRawUserPeersCompletedEventHandler GetRawUserPeersCompleted;

		/// <remarks/>
		public event GetUserPeersCompletedEventHandler GetUserPeersCompleted;

		/// <remarks/>
		public event GetUserParentsCompletedEventHandler GetUserParentsCompleted;

		/// <remarks/>
		public event AddUserCompletedEventHandler AddUserCompleted;

		/// <remarks/>
		public event UpdateUserTaskCompletedEventHandler UpdateUserTaskCompleted;

		/// <remarks/>
		public event UpdateUserTaskAsynchronouslyCompletedEventHandler UpdateUserTaskAsynchronouslyCompleted;

		/// <remarks/>
		public event UpdateUserCompletedEventHandler UpdateUserCompleted;

		/// <remarks/>
		public event DeleteUserCompletedEventHandler DeleteUserCompleted;

		/// <remarks/>
		public event ChangeUserPasswordCompletedEventHandler ChangeUserPasswordCompleted;

		/// <remarks/>
		public event ChangeUserStatusCompletedEventHandler ChangeUserStatusCompleted;

		/// <remarks/>
		public event GetUserSettingsCompletedEventHandler GetUserSettingsCompleted;

		/// <remarks/>
		public event UpdateUserSettingsCompletedEventHandler UpdateUserSettingsCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UserExists", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public bool UserExists(string username)
		{
			object[] results = this.Invoke("UserExists", new object[] {
                        username});
			return ((bool)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUserExists(string username, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UserExists", new object[] {
                        username}, callback, asyncState);
		}

		/// <remarks/>
		public bool EndUserExists(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((bool)(results[0]));
		}

		/// <remarks/>
		public void UserExistsAsync(string username)
		{
			this.UserExistsAsync(username, null);
		}

		/// <remarks/>
		public void UserExistsAsync(string username, object userState)
		{
			if ((this.UserExistsOperationCompleted == null))
			{
				this.UserExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUserExistsOperationCompleted);
			}
			this.InvokeAsync("UserExists", new object[] {
                        username}, this.UserExistsOperationCompleted, userState);
		}

		private void OnUserExistsOperationCompleted(object arg)
		{
			if ((this.UserExistsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UserExistsCompleted(this, new UserExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserById", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfo GetUserById(int userId)
		{
			object[] results = this.Invoke("GetUserById", new object[] {
                        userId});
			return ((UserInfo)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserById(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserById", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfo EndGetUserById(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfo)(results[0]));
		}

		/// <remarks/>
		public void GetUserByIdAsync(int userId)
		{
			this.GetUserByIdAsync(userId, null);
		}

		/// <remarks/>
		public void GetUserByIdAsync(int userId, object userState)
		{
			if ((this.GetUserByIdOperationCompleted == null))
			{
				this.GetUserByIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserByIdOperationCompleted);
			}
			this.InvokeAsync("GetUserById", new object[] {
                        userId}, this.GetUserByIdOperationCompleted, userState);
		}

		private void OnGetUserByIdOperationCompleted(object arg)
		{
			if ((this.GetUserByIdCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserByIdCompleted(this, new GetUserByIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserByUsername", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfo GetUserByUsername(string username)
		{
			object[] results = this.Invoke("GetUserByUsername", new object[] {
                        username});
			return ((UserInfo)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserByUsername(string username, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserByUsername", new object[] {
                        username}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfo EndGetUserByUsername(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfo)(results[0]));
		}

		/// <remarks/>
		public void GetUserByUsernameAsync(string username)
		{
			this.GetUserByUsernameAsync(username, null);
		}

		/// <remarks/>
		public void GetUserByUsernameAsync(string username, object userState)
		{
			if ((this.GetUserByUsernameOperationCompleted == null))
			{
				this.GetUserByUsernameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserByUsernameOperationCompleted);
			}
			this.InvokeAsync("GetUserByUsername", new object[] {
                        username}, this.GetUserByUsernameOperationCompleted, userState);
		}

		private void OnGetUserByUsernameOperationCompleted(object arg)
		{
			if ((this.GetUserByUsernameCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserByUsernameCompleted(this, new GetUserByUsernameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUsers", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfo[] GetUsers(int ownerId, bool recursive)
		{
			object[] results = this.Invoke("GetUsers", new object[] {
                        ownerId,
                        recursive});
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUsers(int ownerId, bool recursive, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUsers", new object[] {
                        ownerId,
                        recursive}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfo[] EndGetUsers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public void GetUsersAsync(int ownerId, bool recursive)
		{
			this.GetUsersAsync(ownerId, recursive, null);
		}

		/// <remarks/>
		public void GetUsersAsync(int ownerId, bool recursive, object userState)
		{
			if ((this.GetUsersOperationCompleted == null))
			{
				this.GetUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersOperationCompleted);
			}
			this.InvokeAsync("GetUsers", new object[] {
                        ownerId,
                        recursive}, this.GetUsersOperationCompleted, userState);
		}

		private void OnGetUsersOperationCompleted(object arg)
		{
			if ((this.GetUsersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUsersCompleted(this, new GetUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

        /// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/AddUserVLan", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public void AddUserVLan(int userId, UserVlan vLan)
		{
			object[] results = this.Invoke("AddUserVLan", new object[] {
                        userId,
                        vLan});
		}
        
        /// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteUserVLan", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public void DeleteUserVLan(int userId, ushort vLanId)
		{
			object[] results = this.Invoke("DeleteUserVLan", new object[] {
                        userId,
                        vLanId});
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetRawUsers", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetRawUsers(int ownerId, bool recursive)
		{
			object[] results = this.Invoke("GetRawUsers", new object[] {
                        ownerId,
                        recursive});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRawUsers(int ownerId, bool recursive, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRawUsers", new object[] {
                        ownerId,
                        recursive}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetRawUsers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetRawUsersAsync(int ownerId, bool recursive)
		{
			this.GetRawUsersAsync(ownerId, recursive, null);
		}

		/// <remarks/>
		public void GetRawUsersAsync(int ownerId, bool recursive, object userState)
		{
			if ((this.GetRawUsersOperationCompleted == null))
			{
				this.GetRawUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawUsersOperationCompleted);
			}
			this.InvokeAsync("GetRawUsers", new object[] {
                        ownerId,
                        recursive}, this.GetRawUsersOperationCompleted, userState);
		}

		private void OnGetRawUsersOperationCompleted(object arg)
		{
			if ((this.GetRawUsersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRawUsersCompleted(this, new GetRawUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUsersPaged", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetUsersPaged(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows)
		{
			object[] results = this.Invoke("GetUsersPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUsersPaged(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUsersPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetUsersPaged(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetUsersPagedAsync(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows)
		{
			this.GetUsersPagedAsync(userId, filterColumn, filterValue, statusId, roleId, sortColumn, startRow, maximumRows, null);
		}

		/// <remarks/>
		public void GetUsersPagedAsync(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows, object userState)
		{
			if ((this.GetUsersPagedOperationCompleted == null))
			{
				this.GetUsersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersPagedOperationCompleted);
			}
			this.InvokeAsync("GetUsersPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetUsersPagedOperationCompleted, userState);
		}

		private void OnGetUsersPagedOperationCompleted(object arg)
		{
			if ((this.GetUsersPagedCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUsersPagedCompleted(this, new GetUsersPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUsersPagedRecursive", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetUsersPagedRecursive(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows)
		{
			object[] results = this.Invoke("GetUsersPagedRecursive", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUsersPagedRecursive(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUsersPagedRecursive", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetUsersPagedRecursive(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetUsersPagedRecursiveAsync(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows)
		{
			this.GetUsersPagedRecursiveAsync(userId, filterColumn, filterValue, statusId, roleId, sortColumn, startRow, maximumRows, null);
		}

		/// <remarks/>
		public void GetUsersPagedRecursiveAsync(int userId, string filterColumn, string filterValue, int statusId, int roleId, string sortColumn, int startRow, int maximumRows, object userState)
		{
			if ((this.GetUsersPagedRecursiveOperationCompleted == null))
			{
				this.GetUsersPagedRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersPagedRecursiveOperationCompleted);
			}
			this.InvokeAsync("GetUsersPagedRecursive", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        statusId,
                        roleId,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetUsersPagedRecursiveOperationCompleted, userState);
		}

		private void OnGetUsersPagedRecursiveOperationCompleted(object arg)
		{
			if ((this.GetUsersPagedRecursiveCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUsersPagedRecursiveCompleted(this, new GetUsersPagedRecursiveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUsersSummary", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetUsersSummary(int userId)
		{
			object[] results = this.Invoke("GetUsersSummary", new object[] {
                        userId});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUsersSummary(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUsersSummary", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetUsersSummary(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetUsersSummaryAsync(int userId)
		{
			this.GetUsersSummaryAsync(userId, null);
		}

		/// <remarks/>
		public void GetUsersSummaryAsync(int userId, object userState)
		{
			if ((this.GetUsersSummaryOperationCompleted == null))
			{
				this.GetUsersSummaryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersSummaryOperationCompleted);
			}
			this.InvokeAsync("GetUsersSummary", new object[] {
                        userId}, this.GetUsersSummaryOperationCompleted, userState);
		}

		private void OnGetUsersSummaryOperationCompleted(object arg)
		{
			if ((this.GetUsersSummaryCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUsersSummaryCompleted(this, new GetUsersSummaryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserDomainsPaged", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetUserDomainsPaged(int userId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
		{
			object[] results = this.Invoke("GetUserDomainsPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserDomainsPaged(int userId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserDomainsPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetUserDomainsPaged(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetUserDomainsPagedAsync(int userId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
		{
			this.GetUserDomainsPagedAsync(userId, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
		}

		/// <remarks/>
		public void GetUserDomainsPagedAsync(int userId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState)
		{
			if ((this.GetUserDomainsPagedOperationCompleted == null))
			{
				this.GetUserDomainsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserDomainsPagedOperationCompleted);
			}
			this.InvokeAsync("GetUserDomainsPaged", new object[] {
                        userId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetUserDomainsPagedOperationCompleted, userState);
		}

		private void OnGetUserDomainsPagedOperationCompleted(object arg)
		{
			if ((this.GetUserDomainsPagedCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserDomainsPagedCompleted(this, new GetUserDomainsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetRawUserPeers", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public System.Data.DataSet GetRawUserPeers(int userId)
		{
			object[] results = this.Invoke("GetRawUserPeers", new object[] {
                        userId});
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRawUserPeers(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRawUserPeers", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public System.Data.DataSet EndGetRawUserPeers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((System.Data.DataSet)(results[0]));
		}

		/// <remarks/>
		public void GetRawUserPeersAsync(int userId)
		{
			this.GetRawUserPeersAsync(userId, null);
		}

		/// <remarks/>
		public void GetRawUserPeersAsync(int userId, object userState)
		{
			if ((this.GetRawUserPeersOperationCompleted == null))
			{
				this.GetRawUserPeersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawUserPeersOperationCompleted);
			}
			this.InvokeAsync("GetRawUserPeers", new object[] {
                        userId}, this.GetRawUserPeersOperationCompleted, userState);
		}

		private void OnGetRawUserPeersOperationCompleted(object arg)
		{
			if ((this.GetRawUserPeersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRawUserPeersCompleted(this, new GetRawUserPeersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserPeers", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfo[] GetUserPeers(int userId)
		{
			object[] results = this.Invoke("GetUserPeers", new object[] {
                        userId});
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserPeers(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserPeers", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfo[] EndGetUserPeers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public void GetUserPeersAsync(int userId)
		{
			this.GetUserPeersAsync(userId, null);
		}

		/// <remarks/>
		public void GetUserPeersAsync(int userId, object userState)
		{
			if ((this.GetUserPeersOperationCompleted == null))
			{
				this.GetUserPeersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserPeersOperationCompleted);
			}
			this.InvokeAsync("GetUserPeers", new object[] {
                        userId}, this.GetUserPeersOperationCompleted, userState);
		}

		private void OnGetUserPeersOperationCompleted(object arg)
		{
			if ((this.GetUserPeersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserPeersCompleted(this, new GetUserPeersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserParents", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfo[] GetUserParents(int userId)
		{
			object[] results = this.Invoke("GetUserParents", new object[] {
                        userId});
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserParents(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserParents", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfo[] EndGetUserParents(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfo[])(results[0]));
		}

		/// <remarks/>
		public void GetUserParentsAsync(int userId)
		{
			this.GetUserParentsAsync(userId, null);
		}

		/// <remarks/>
		public void GetUserParentsAsync(int userId, object userState)
		{
			if ((this.GetUserParentsOperationCompleted == null))
			{
				this.GetUserParentsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserParentsOperationCompleted);
			}
			this.InvokeAsync("GetUserParents", new object[] {
                        userId}, this.GetUserParentsOperationCompleted, userState);
		}

		private void OnGetUserParentsOperationCompleted(object arg)
		{
			if ((this.GetUserParentsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserParentsCompleted(this, new GetUserParentsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/AddUser", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int AddUser(UserInfo user, bool sendLetter, string password)
		{
			object[] results = this.Invoke("AddUser", new object[] {
                        user,
                        sendLetter,
                        password
            });
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddUser(UserInfo user, bool sendLetter, string password, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddUser", new object[] {
                        user,
                        sendLetter,
                        password}, callback, asyncState);
		}

		/// <remarks/>
		public int EndAddUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void AddUserAsync(UserInfo user, bool sendLetter, string password)
		{
			this.AddUserAsync(user, sendLetter, password, null);
		}

		/// <remarks/>
		public void AddUserAsync(UserInfo user, bool sendLetter, string password, object userState)
		{
			if ((this.AddUserOperationCompleted == null))
			{
				this.AddUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddUserOperationCompleted);
			}
			this.InvokeAsync("AddUser", new object[] {
                        user,
                        sendLetter,
                        password}, this.AddUserOperationCompleted, userState);
		}

		private void OnAddUserOperationCompleted(object arg)
		{
			if ((this.AddUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddUserCompleted(this, new AddUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateUserTask", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int UpdateUserTask(string taskId, UserInfo user)
		{
			object[] results = this.Invoke("UpdateUserTask", new object[] {
                        taskId,
                        user});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserTask(string taskId, UserInfo user, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserTask", new object[] {
                        taskId,
                        user}, callback, asyncState);
		}

		/// <remarks/>
		public int EndUpdateUserTask(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserTaskAsync(string taskId, UserInfo user)
		{
			this.UpdateUserTaskAsync(taskId, user, null);
		}

		/// <remarks/>
		public void UpdateUserTaskAsync(string taskId, UserInfo user, object userState)
		{
			if ((this.UpdateUserTaskOperationCompleted == null))
			{
				this.UpdateUserTaskOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserTaskOperationCompleted);
			}
			this.InvokeAsync("UpdateUserTask", new object[] {
                        taskId,
                        user}, this.UpdateUserTaskOperationCompleted, userState);
		}

		private void OnUpdateUserTaskOperationCompleted(object arg)
		{
			if ((this.UpdateUserTaskCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserTaskCompleted(this, new UpdateUserTaskCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateUserTaskAsynchronously", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int UpdateUserTaskAsynchronously(string taskId, UserInfo user)
		{
			object[] results = this.Invoke("UpdateUserTaskAsynchronously", new object[] {
                        taskId,
                        user});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserTaskAsynchronously(string taskId, UserInfo user, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserTaskAsynchronously", new object[] {
                        taskId,
                        user}, callback, asyncState);
		}

		/// <remarks/>
		public int EndUpdateUserTaskAsynchronously(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserTaskAsynchronouslyAsync(string taskId, UserInfo user)
		{
			this.UpdateUserTaskAsynchronouslyAsync(taskId, user, null);
		}

		/// <remarks/>
		public void UpdateUserTaskAsynchronouslyAsync(string taskId, UserInfo user, object userState)
		{
			if ((this.UpdateUserTaskAsynchronouslyOperationCompleted == null))
			{
				this.UpdateUserTaskAsynchronouslyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserTaskAsynchronouslyOperationCompleted);
			}
			this.InvokeAsync("UpdateUserTaskAsynchronously", new object[] {
                        taskId,
                        user}, this.UpdateUserTaskAsynchronouslyOperationCompleted, userState);
		}

		private void OnUpdateUserTaskAsynchronouslyOperationCompleted(object arg)
		{
			if ((this.UpdateUserTaskAsynchronouslyCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserTaskAsynchronouslyCompleted(this, new UpdateUserTaskAsynchronouslyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateUser", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int UpdateUser(UserInfo user)
		{
			object[] results = this.Invoke("UpdateUser", new object[] {
                        user});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUser(UserInfo user, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUser", new object[] {
                        user}, callback, asyncState);
		}

		/// <remarks/>
		public int EndUpdateUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserAsync(UserInfo user)
		{
			this.UpdateUserAsync(user, null);
		}

		/// <remarks/>
		public void UpdateUserAsync(UserInfo user, object userState)
		{
			if ((this.UpdateUserOperationCompleted == null))
			{
				this.UpdateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserOperationCompleted);
			}
			this.InvokeAsync("UpdateUser", new object[] {
                        user}, this.UpdateUserOperationCompleted, userState);
		}

		private void OnUpdateUserOperationCompleted(object arg)
		{
			if ((this.UpdateUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserCompleted(this, new UpdateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/DeleteUser", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int DeleteUser(int userId)
		{
			object[] results = this.Invoke("DeleteUser", new object[] {
                        userId});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteUser(int userId, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteUser", new object[] {
                        userId}, callback, asyncState);
		}

		/// <remarks/>
		public int EndDeleteUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void DeleteUserAsync(int userId)
		{
			this.DeleteUserAsync(userId, null);
		}

		/// <remarks/>
		public void DeleteUserAsync(int userId, object userState)
		{
			if ((this.DeleteUserOperationCompleted == null))
			{
				this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
			}
			this.InvokeAsync("DeleteUser", new object[] {
                        userId}, this.DeleteUserOperationCompleted, userState);
		}

		private void OnDeleteUserOperationCompleted(object arg)
		{
			if ((this.DeleteUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ChangeUserPassword", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int ChangeUserPassword(int userId, string password)
		{
			object[] results = this.Invoke("ChangeUserPassword", new object[] {
                        userId,
                        password});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginChangeUserPassword(int userId, string password, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("ChangeUserPassword", new object[] {
                        userId,
                        password}, callback, asyncState);
		}

		/// <remarks/>
		public int EndChangeUserPassword(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void ChangeUserPasswordAsync(int userId, string password)
		{
			this.ChangeUserPasswordAsync(userId, password, null);
		}

		/// <remarks/>
		public void ChangeUserPasswordAsync(int userId, string password, object userState)
		{
			if ((this.ChangeUserPasswordOperationCompleted == null))
			{
				this.ChangeUserPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeUserPasswordOperationCompleted);
			}
			this.InvokeAsync("ChangeUserPassword", new object[] {
                        userId,
                        password}, this.ChangeUserPasswordOperationCompleted, userState);
		}

		private void OnChangeUserPasswordOperationCompleted(object arg)
		{
			if ((this.ChangeUserPasswordCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.ChangeUserPasswordCompleted(this, new ChangeUserPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/ChangeUserStatus", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int ChangeUserStatus(int userId, UserStatus status)
		{
			object[] results = this.Invoke("ChangeUserStatus", new object[] {
                        userId,
                        status});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginChangeUserStatus(int userId, UserStatus status, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("ChangeUserStatus", new object[] {
                        userId,
                        status}, callback, asyncState);
		}

		/// <remarks/>
		public int EndChangeUserStatus(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void ChangeUserStatusAsync(int userId, UserStatus status)
		{
			this.ChangeUserStatusAsync(userId, status, null);
		}

		/// <remarks/>
		public void ChangeUserStatusAsync(int userId, UserStatus status, object userState)
		{
			if ((this.ChangeUserStatusOperationCompleted == null))
			{
				this.ChangeUserStatusOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeUserStatusOperationCompleted);
			}
			this.InvokeAsync("ChangeUserStatus", new object[] {
                        userId,
                        status}, this.ChangeUserStatusOperationCompleted, userState);
		}

		private void OnChangeUserStatusOperationCompleted(object arg)
		{
			if ((this.ChangeUserStatusCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.ChangeUserStatusCompleted(this, new ChangeUserStatusCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/GetUserSettings", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserSettings GetUserSettings(int userId, string settingsName)
		{
			object[] results = this.Invoke("GetUserSettings", new object[] {
                        userId,
                        settingsName});
			return ((UserSettings)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserSettings(int userId, string settingsName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserSettings", new object[] {
                        userId,
                        settingsName}, callback, asyncState);
		}

		/// <remarks/>
		public UserSettings EndGetUserSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserSettings)(results[0]));
		}

		/// <remarks/>
		public void GetUserSettingsAsync(int userId, string settingsName)
		{
			this.GetUserSettingsAsync(userId, settingsName, null);
		}

		/// <remarks/>
		public void GetUserSettingsAsync(int userId, string settingsName, object userState)
		{
			if ((this.GetUserSettingsOperationCompleted == null))
			{
				this.GetUserSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserSettingsOperationCompleted);
			}
			this.InvokeAsync("GetUserSettings", new object[] {
                        userId,
                        settingsName}, this.GetUserSettingsOperationCompleted, userState);
		}

		private void OnGetUserSettingsOperationCompleted(object arg)
		{
			if ((this.GetUserSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserSettingsCompleted(this, new GetUserSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/enterpriseserver/UpdateUserSettings", RequestNamespace = "http://smbsaas/solidcp/enterpriseserver", ResponseNamespace = "http://smbsaas/solidcp/enterpriseserver", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public int UpdateUserSettings(UserSettings settings)
		{
			object[] results = this.Invoke("UpdateUserSettings", new object[] {
                        settings});
			return ((int)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserSettings(UserSettings settings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserSettings", new object[] {
                        settings}, callback, asyncState);
		}

		/// <remarks/>
		public int EndUpdateUserSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((int)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserSettingsAsync(UserSettings settings)
		{
			this.UpdateUserSettingsAsync(settings, null);
		}

		/// <remarks/>
		public void UpdateUserSettingsAsync(UserSettings settings, object userState)
		{
			if ((this.UpdateUserSettingsOperationCompleted == null))
			{
				this.UpdateUserSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserSettingsOperationCompleted);
			}
			this.InvokeAsync("UpdateUserSettings", new object[] {
                        settings}, this.UpdateUserSettingsOperationCompleted, userState);
		}

		private void OnUpdateUserSettingsOperationCompleted(object arg)
		{
			if ((this.UpdateUserSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserSettingsCompleted(this, new UpdateUserSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void UserExistsCompletedEventHandler(object sender, UserExistsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UserExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UserExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public bool Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((bool)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserByIdCompletedEventHandler(object sender, GetUserByIdCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserByIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfo Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfo)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserByUsernameCompletedEventHandler(object sender, GetUserByUsernameCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserByUsernameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserByUsernameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfo Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfo)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUsersCompletedEventHandler(object sender, GetUsersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfo[] Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfo[])(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetRawUsersCompletedEventHandler(object sender, GetRawUsersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRawUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRawUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUsersPagedCompletedEventHandler(object sender, GetUsersPagedCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUsersPagedRecursiveCompletedEventHandler(object sender, GetUsersPagedRecursiveCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUsersPagedRecursiveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUsersPagedRecursiveCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUsersSummaryCompletedEventHandler(object sender, GetUsersSummaryCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUsersSummaryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUsersSummaryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserDomainsPagedCompletedEventHandler(object sender, GetUserDomainsPagedCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserDomainsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserDomainsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetRawUserPeersCompletedEventHandler(object sender, GetRawUserPeersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRawUserPeersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRawUserPeersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public System.Data.DataSet Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((System.Data.DataSet)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserPeersCompletedEventHandler(object sender, GetUserPeersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserPeersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserPeersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfo[] Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfo[])(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserParentsCompletedEventHandler(object sender, GetUserParentsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserParentsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserParentsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfo[] Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfo[])(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void AddUserCompletedEventHandler(object sender, AddUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void UpdateUserTaskCompletedEventHandler(object sender, UpdateUserTaskCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserTaskCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserTaskCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void UpdateUserTaskAsynchronouslyCompletedEventHandler(object sender, UpdateUserTaskAsynchronouslyCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserTaskAsynchronouslyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserTaskAsynchronouslyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void UpdateUserCompletedEventHandler(object sender, UpdateUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void ChangeUserPasswordCompletedEventHandler(object sender, ChangeUserPasswordCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class ChangeUserPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal ChangeUserPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void ChangeUserStatusCompletedEventHandler(object sender, ChangeUserStatusCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class ChangeUserStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal ChangeUserStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void GetUserSettingsCompletedEventHandler(object sender, GetUserSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserSettings Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserSettings)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	public delegate void UpdateUserSettingsCompletedEventHandler(object sender, UpdateUserSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
			:
				base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public int Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((int)(this.results[0]));
			}
		}
	}
}
